//! dns 模块启用了名称解析。 例如，使用它来查找主机名的 IP 地址。

// dns模块的引入
// dns是内置模块，所以是可以直接使用的
// node.js要遵循CommonJs的模块化规范
// 引入的模块的名称是需要加引号的
const dns = require("dns");

// 通过IPv4的方式去获取地址
dns.resolve4("www.baidu.com", (err, address) => {
  // 回调函数在这里是用来解决异步的
  // 在Node.js里面，回调函数往往是错误优先的
  if (err) throw err;
  console.log(address);
});

//! crypto 模块提供了加密功能，其中包括了用于 OpenSSL 散列、HMAC、加密、解密、签名、以及验证的函数的一整套封装。
const crypto = require("crypto");

const secret = "abcdefg";
const hash = crypto.createHmac("sha256", secret).digest("hex");
console.log(hash);

//! 甚至有一些模块是不需要做任何引入的，比如说process
console.log(process);
